package com.ruoyi.business.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 出库计划对象 wms_delivery_plan
 *
 * @author ruoyi
 * @date 2024-01-09
 */
@Data
public class WmsDeliveryPlan extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 出库计划单号 */
    @Excel(name = "出库计划单号")
    private String deliveryNo;

    /** 出库类型: transfer=调拨,sale=销售,other=其他 */
    @Excel(name = "出库类型: transfer=调拨,sale=销售,other=其他")
    private String deliveryType;

    /** 关联单据 */
    @Excel(name = "关联单据")
    private String relateNo;

    /** 计划出库日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "计划出库日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date plannedDate;

    /** 状态: wait=待出库,all=全部出库,partial=部分出库,canceled=已取消 */
    @Excel(name = "状态: wait=待出库,all=全部出库,partial=部分出库,canceled=已取消")
    private String status;

    /** 客户编码 */
    @Excel(name = "客户编码")
    private String customersSn;

    /** 客户 */
    @Excel(name = "客户")
    private String customersName;

    /** 结算客户编码 */
    @Excel(name = "结算客户编码")
    private String settlementCustomersSn;

    /** 结算客户 */
    @Excel(name = "结算客户")
    private String settlementCustomersName;

    /** 收货地址 */
    @Excel(name = "收货地址")
    private String deliveryAddress;

    /** 总重量(kg) */
    @Excel(name = "总重量(kg)")
    private BigDecimal totalWeight;

    /** 总体积(m³) */
    @Excel(name = "总体积(m³)")
    private BigDecimal totalVolume;

    @JsonProperty(access = JsonProperty.Access.READ_ONLY)
    private String barCode;
}
